import type { VuePage } from "@/core/vuePage";

/**组件注册 */
class PageRegistor {
  VuePageList: VuePage[] = [];
  /**注册页面 */
  registerPage(page: VuePage) {
    this.VuePageList.push(page);
  }
  /**获取页面 */
  getPages(): VuePage[] {
    return this.VuePageList;
  }
  /**查找当前页面 */
  findPage(path: string): VuePage {
    const curPage = this.VuePageList.find((page) => page.getPath() === path);

    // 判断当前是否存在静态路由地址
    if (!curPage) {
      // 不存在 抛出错误
      throw console.error(`找不到路径: ${path}的对应的页面`);
    }
    return curPage;
  }
}

export const register = new PageRegistor();
